newtype Ran k d a = Ran (forall i. (a -> k i) -> d i)